#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
#include <asm/current.h>
static int xuedaon_init(void)
{
	struct task_struct *task = current;
	do{
		printk("PID : %d  name : %s\n",task->pid,task->comm);
		task = container_of(task->tasks.next,struct task_struct,tasks);
	}while(task != current);
	return 0;
}	
static void xuedaon_exit(void)
{
	printk("goodbye\n");
}

module_init(xuedaon_init);
module_exit(xuedaon_exit);

MODULE_LICENSE("GPL");
